Skip to main content
Last updated on

解决ebpf-agent始终未就绪问题

问题现象

OneAgent 中的 ebpf-agent 始终处于未就绪状态,日志中显示“自动适配失败”且无法从远端获取到适配文件

问题解释

OneAgent 中的 ebpf-agent 基于 eBPF 技术获取北极星指标,该 agent 需要基于 eBPF 程序运行,eBPF 程序是基于特定的 Linux 内核版本的开发文件编译的。ebpf-agent 已经支持了常见的内核版本,但由于内核版本众多,无法保证所有的版本都支持,因此 ebpf-agent 如果遇到尚未支持的内核版本,会尝试自动编译该内核版本的 eBPF 程序。要使自动编译过程成功,请按照以下步骤进行操作。

解决步骤

1. 安装内核开发文件

APO-one-agent 对于内核的适配需要用到内核开发文件,这是每个发行版内核都会发行,并上传到安装源的标准开发文件。您可以直接从源获取并安装您的开发文件,不同的 Linux 发行版,安装方式及文件名称可能不同。

注意: 内核开发文件的版本管理方式根据不同发行版、不同版本而不同;有可能安装源内的内核开发文件与当前的系统内核版本不同,而 APO-one-agent 自动适配需要您安装与内核版本一致的内核头文件,否则自动适配失败。

RedHat/Centos

yum install kernel-devel-$(uname -r)

Debian/Ubuntu

apt-get install linux-headers-$(uname -r)

2. 重启 apo-one-agent

在成功安装内核开发文件后,要触发自动适配流程,请重启apo-one-agent

重启后,请观察 OneAgent 中 ebpf-agent 的启动日志,适配结果将清晰显示在日志中。如果仍旧适配失败,请联系我们协助排查。

联系我们

如果 APO-one-agent 因为各种原因适配失败,可以通过官方渠道联系我们进行内核,我们将尽快为您进行远程适配帮助。